Many software applications are designed to operate according to a client-server paradigm in which a client logs onto a system and executes commands that communicate with a server process on the same system. The client command sends requests to the server process, causing the server process to appropriately respond to handle the request. Often, the server process is called upon to handle requests from clients with different privilege levels. For an appropriate response, the server process is to identify and authenticate the identity of the user executing the client command and then authorize that client to perform particular operations.